import os
import platform
from pathlib import Path

# 项目根目录
BASE_DIR = Path(__file__).resolve().parent

# 数据库配置
DB_CONFIG = {
    "host": os.getenv("DB_HOST", "150.138.81.55"),
    "port": int(os.getenv("DB_PORT", 6612)),
    "user": os.getenv("DB_USER", "root"), 
    "password": os.getenv("DB_PASSWORD", "Chenhao@"),
    "database": os.getenv("DB_NAME", "db_collection"),
    "charset": "utf8mb4"
}

# 微信公众平台配置
WEIXIN_CONFIG = {
    "login_timeout": 90,  # 登录超时时间(秒)
    "cookie_expire_days": 7,  # Cookie过期天数
    "request_delay_min": 2,  # 请求间隔最小值(秒)
    "request_delay_max": 5,  # 请求间隔最大值(秒)
}

# 浏览器配置
def _get_firefox_executable_name():
    """根据操作系统获取Firefox可执行文件名"""
    return "firefox.exe" if platform.system() == "Windows" else "firefox"

BROWSER_CONFIG = {
    # 项目内浏览器目录
    "local_browser_dir": BASE_DIR / "browsers",
    
    # Firefox可执行文件路径（动态根据操作系统确定）
    "firefox_path": BASE_DIR / "browsers" / "firefox" / _get_firefox_executable_name(),
    
    # 浏览器设置
    "use_local_browser": True,  # 是否优先使用本地浏览器
    "auto_download": True,  # 如果本地浏览器不存在，是否自动下载
    "headless": False,  # 是否无头模式运行
    
    # 浏览器数据目录
    "user_data_dir": BASE_DIR / "browser_data",
    
    # Playwright特定配置
    "browser_type": "firefox",  # 浏览器类型
    "slow_mo": 100,  # 操作延迟(毫秒)
    "timeout": 30000,  # 页面超时时间(毫秒)
    
    # 下载设置
    "download_timeout": 300,  # 浏览器下载超时时间(秒)
    "install_deps": True,  # 是否自动安装浏览器依赖
    
    # 环境变量
    "playwright_browsers_path_env": "PLAYWRIGHT_BROWSERS_PATH",
}

# 视频下载配置
VIDEO_CONFIG = {
    "download_dir": BASE_DIR / "videoFiles",
    "max_retry": 3,  # 下载重试次数
    "timeout": 60,  # 下载超时时间(秒)
}

# 日志配置
LOG_CONFIG = {
    "level": "INFO",
    "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
} 